// 流程节点分类标识
import {
  Tp_proctypeEnum
} from '@/enumeration/Tp_proctype'

export const Tp_categoryValue = {
  // 申请
  apply: 'apply',
  // 受理
  accept: 'accept',
  // 审理
  hear: 'hear',
  /** 受理环节 */
  // 受理查看
  acceptview: 'acceptview',
  // 受理前调解上传 -- 受理调解
  mediate_upload: 'mediate_upload',
  // 受理告知
  inform_upload: 'inform_upload',
  // 受理撤回
  rollback_upload: 'rollback_upload',
  // 受理受理
  accept_upload: 'accept_upload',
  // 受理不予受理
  noaccept_upload: 'noaccept_upload',
  // 受理-补正
  append_upload: 'append_upload',
  // 受理-其他处理
  // acceptother_upload: 'acceptother_upload',
  // 受理=变更办案人员
  change_upload: 'change_upload',

  /** 审理环节 */
  // 受理后调解上传
  mediate_afterupload: 'mediate_afterupload',
  // 查阅复制上传
  trawl_upload: 'trawl_upload',
  // 调查上传
  survey_upload: 'survey_upload',
  // 勘验上传
  inquest_upload: 'inquest_upload',
  // 听证上传
  hearing_upload: 'hearing_upload',
  // 鉴定上传
  identify_upload: 'identify_upload',
  // 停止执行上传
  stop_upload: 'stop_upload',
  // 延期上传
  delay_upload: 'delay_upload',
  // 中止上传
  rest_upload: 'rest_upload',
  // 恢复上传
  restore_upload: 'restore_upload',
  // 决定上传
  decision_upload: 'decision_upload',
  // 撤回上传
  withdraw_upload: 'withdraw_upload',
  // 调卷上传
  mobilize_upload: 'mobilize_upload',
  // 审理查看
  hearview: 'hearview',
  // 程序转换
  transform_upload: 'transform_upload',
  // 专家论证
  expert_upload: 'expert_upload',
  // 第三人新增
  thirder_upload: 'thirder_upload',
  // 审理变更人员
  hear_change_upload: 'hear_change_upload',

  /** *******归档环节********* 暂未使用到 */
  // 归档查看
  executeview: 'executeview',
  // 行政复议-执行-履行催告
  reminder_upload: 'reminder_upload',
  // 行政复议-执行-强制执行
  force_upload: 'force_upload',
  // 行政复议-执行-责令履行
  perform_upload: 'perform_upload',
  // 行政复议-执行-政务处分
  punish_upload: 'punish_upload',

  // 复议监督 决定子流程
  supervise_upload: 'supervise_upload'

}

// 需要显示办案程序tab的列表
export const caseCategoryList = [
  Tp_categoryValue.accept, // 受理
  Tp_categoryValue.hear, // 审理
  Tp_categoryValue.mediate_upload, // 受理前调解上传
  Tp_categoryValue.inform_upload, // 受理告知
  Tp_categoryValue.rollback_upload, // 受理撤回
  Tp_categoryValue.accept_upload, // 受理受理
  Tp_categoryValue.noaccept_upload, // 受理不予受理
  Tp_categoryValue.append_upload, // 受理-补正
  Tp_categoryValue.acceptother_upload, // 受理其他处理
  Tp_categoryValue.change_upload, // 受理 变更办案人员
  Tp_categoryValue.mediate_afterupload, // 受理后调解上传
  Tp_categoryValue.trawl_upload, // 查阅复制上传
  Tp_categoryValue.survey_upload, // 调查上传
  Tp_categoryValue.inquest_upload, // 勘验上传
  Tp_categoryValue.hearing_upload, // 听证上传
  Tp_categoryValue.identify_upload, // 鉴定上传
  Tp_categoryValue.stop_upload, // 停止执行上传
  Tp_categoryValue.delay_upload, // 延期上传
  Tp_categoryValue.rest_upload, // 中止上传
  Tp_categoryValue.restore_upload, // 恢复上传
  Tp_categoryValue.decision_upload, // 决定上传
  Tp_categoryValue.withdraw_upload, // 撤回上传
  Tp_categoryValue.mobilize_upload, // 调卷上传
  Tp_categoryValue.hearview, // 审理查看
  Tp_categoryValue.acceptview, // 受理查看
  Tp_categoryValue.transform_upload, // 程序转换
  Tp_categoryValue.expert_upload, // 专家论证上传
  Tp_categoryValue.thirder_upload, // 第三人新增上传
  Tp_categoryValue.hear_change_upload, // 审理变更人员

  /** *******归档部分*************/
  Tp_categoryValue.executeview, // 归档查看
  Tp_categoryValue.reminder_upload, // 履行催告
  Tp_categoryValue.force_upload, // 强制执行
  Tp_categoryValue.perform_upload, // 责令履行
  Tp_categoryValue.punish_upload // 政务处分
]

// 需要隐藏底部操作按钮的环节
export const hideBtnList = [Tp_categoryValue.hear, Tp_categoryValue.accept]

// 需要显示办案程序下一步处理人选择的环节
export const showNextList = [Tp_categoryValue.accept]

// 需要隐藏下一步处理人的流程环节名称
export const hideNextList = [
  Tp_categoryValue.mediate_afterupload, // 受理后调解上传
  Tp_categoryValue.trawl_upload, // 查阅复制上传
  Tp_categoryValue.survey_upload, // 调查上传
  Tp_categoryValue.inquest_upload, // 勘验上传
  Tp_categoryValue.hearing_upload, // 听证上传
  Tp_categoryValue.identify_upload, // 鉴定上传
  Tp_categoryValue.stop_upload, // 停止执行上传
  Tp_categoryValue.delay_upload, // 延期上传
  Tp_categoryValue.rest_upload, // 中止上传
  Tp_categoryValue.restore_upload, // 恢复上传
  Tp_categoryValue.decision_upload, // 决定上传
  Tp_categoryValue.withdraw_upload, // 撤回上传
  Tp_categoryValue.mobilize_upload, // 调卷上传
  Tp_categoryValue.transform_upload, // 程序转换
  Tp_categoryValue.expert_upload, // 专家论证上传
  Tp_categoryValue.reminder_upload, // 履行催告
  Tp_categoryValue.force_upload, // 强制执行
  Tp_categoryValue.perform_upload, // 责令履行
  Tp_categoryValue.punish_upload, // 政务处分
  Tp_categoryValue.thirder_upload, // 第三人新增
  Tp_categoryValue.hear_change_upload, // 审理变更人员
  Tp_categoryValue.supervise_upload // 复议监督决定子流程
]

// 隐藏第三人的流程的值
export const hideThirdCategoryList = [
  Tp_categoryValue.apply, // 申请
  Tp_categoryValue.accept, // 受理
  Tp_categoryValue.acceptview, // 受理查看
  Tp_categoryValue.mediate_upload // 受理前调解上传
]

/**
 * 通过流程标识来判断状态
 * @param {} category
 * @param {} busiKey
 */
export function getTabByCategory(category, busiKey) {
  if (category == Tp_categoryValue.hear || category == Tp_categoryValue.accept) {
    // 审理受理环节 则全部可编辑
    return 'editAll'
  } else if (category == Tp_categoryValue.hearview || category == Tp_categoryValue.acceptview) {
    // 审理受理查询环节 不可编辑
    return 'disabled'
  } else {
    let categoryVal = ''
    // 若当前的环节一致才可编辑
    for (const key in Tp_proctypeEnum) {
      if (Tp_proctypeEnum[key].value == busiKey) {
        categoryVal = Tp_proctypeEnum[key].categoryKey
      }
    }
    if (categoryVal == category) {
      return 'editOnlySelf'
    }
    return 'disabled'
  }
}